![]() 非耦合副處理器介面
专利摘要:
本發明提出一種非耦合副處理器介面。此非耦合副處理器介面隨著副處理器指令的發送而傳輸尾序資訊。此非耦合副處理器介面將副處理器提供的狀況報告分成早期狀況報告與晚期狀況報告。此非耦合副處理器介面可為了提升效能而禁能晚期狀況報告。此非耦合副處理器介面更提供多個早期清除介面以從一主處理器傳送早期清除事件到相對應的副處理器。因此,此非耦合副處理器介面可以提升主處理器與副處理器之間的資料尾序、狀況報告以及早期清除事件的處理效能。 公开号:TW201322121A 申请号:TW101128477 申请日:2012-08-07 公开日:2013-06-01 发明作者:Yuan-Yuan Shih;Chuan-Hua Chang;Chi-Chang Lai 申请人:Andes Technology Corp; IPC主号:G06F9-00
专利说明:
非耦合副處理器介面 本發明是有關於一種副處理器介面(co-processor interface),特別是有關於一種高效率非耦合副處理器介面。 副處理器(co-processor)是一種特殊的處理器,適用在執行與加速特殊運算,像是主處理器(main processor)的浮點計算與加密運算。 副處理器的例子有圖形處理器(graphics processor unit)以及數位訊號處理器(digital signal processor)。一般來說,副處理器與主處理器之間的連接是藉由一個專用的副處理器介面。通過這個副處理器介面,主處理器可以發送副處理器指令給副處理器,發送資料以及早期清除事件(early flush event)給副處理器,從副處理器接收狀況報告(status report),以及告知副處理器是否要提交(commit)或是清除(flush)所有未提交的副處理器指令。 當副處理器產生的本機資料樣式(native data type)的位元寬度不同於主處理器的本機資料樣式的位元寬度,此時需要考慮在主處理器與副處理器之間傳遞的資料的尾序(endian)。傳統的解決方法是利用軟體來根據主處理器與副處理器的資料的尾序處理這些資料。一般來說,這個軟體會交換或改變在暫存器(register)裡資料的位置。然而,軟體的效率相對低於硬體。另一個傳統的解決方法是提供一個全域訊號(global signal)來從主處理器傳送尾序給副處理器然後自動根據副處理器的尾序來處理這個資料。然而,當主處理器因為切換到其他程序等原因而改變自己的尾序,使這個全域訊號與主處理器的尾序同步改變是很沒效率的。另一個傳統的解決方法是提供一個控制位元在副處理器裡表示副處理器的尾序,然後這個控制位元會被用來指示硬體相應地處理資料。同樣地,當副處理器因為某些原因而改變自身尾序,讓這個控制位元與副處理器的尾序同步改變是很沒效率的。 當主處理器發現到一個分歧預測(branch prediction)不成功,因此一個副處理器指令需要被清除時,主處理器發送一個早期清除事件給副處理器,讓副處理器可以清除副處理器的管線(pipeline)內的指令。一般來說,一個副處理器介面只有一個早期清除介面(early flush interface)來傳遞主處理器中的早期清除事件給副處理器,當有太多清除事件在主處理器裡的不同的管線階段(pipeline stage)產生會造成性能降低,這是因為有些早期清除事件可能會經過很長時間才能通過單一早期清除介面而到達副處理器,因此阻擋了需要等待早期清除事件告知清除或不清除(flush-or-no-flush)的副處理器指令。 主處理器必須等待某些副處理器指令的狀況報告。一個狀況報告如果太晚到達主處理器可能會阻擋副處理器的指令的執行流程因而降低效能。 副處理器介面可以被設計成耦合(coupled)或非耦合(de-coupled)型式。一個耦合的副處理器介面代表其為一個依賴管線的介面。換句話說,一個耦合的副處理器介面是專門用在特定的管線架構,而且為此特定管線架構而最佳化。每個透過此耦合副處理器介面傳輸的訊號都是用在副處理器與主處理器裡的特定的管線階段。這種耦合的副處理器介面有高效能,但是缺乏可擴充性(scalability)也缺乏可轉用性(portability)。 另一方面,一個非耦合的副處理器介面代表一個獨立於管線的介面。每個透過此非耦合副處理器介面傳輸的訊號不一定只能用在主處理器及副處理器裡特定的管線結構。這種非耦合的副處理器介面具有可擴充性與可轉用性。 本發明提供一種非耦合副處理器介面,可以提供一個直觀且高效能的方法來處理主處理器與副處理器之間的資料尾序。 本發明另提供一種非耦合副處理器介面,可將副處理器提供的狀況報告分成早期狀況報告與晚期狀況報告。此非耦合副處理器介面可禁能(disable)晚期狀況報告以提高效能。 本發明又提供一種非耦合副處理器介面,可提供多個早期清除介面以提高早期狀況報告的處理效能。 本發明又提供一種非耦合副處理器介面,可結合上述每一種非耦合副處理器介面的所有功能及特色,以提升主處理器與副處理器之間的資料尾序、狀況報告及早期清除事件的處理效能。 本發明提供一種非耦合副處理器介面以處理副處理器指令的執行流程。一個主處理器遞送副處理器指令給一個副處理器。此非耦合副處理器介面包括多個訊號介面以在副處理器與主處理器之間傳送包含於副處理器指令的執行流程的第一訊號組、第二訊號組及第三訊號組。主處理器使用第一訊號組來遞送副處理器指令給副處理器。第二訊號組是用來在主處理器與副處理器之間傳輸對應於副處理器指令的資料。主處理器使用第三訊號組以告知副處理器是否要提交副處理器指令或是清除在副處理器的所有管線階段的所有尚未提交的副處理器指令。主處理器或副處理器通過上述訊號介面來提供資料的尾序資訊。 本發明另提供一種非耦合副處理器介面。此非耦合副處理器介面包括多個訊號介面以在副處理器與主處理器之間傳送包含於副處理器指令的執行流程的第一訊號組、第二訊號組、第三訊號組及第四訊號組。主處理器使用第一訊號組來遞送副處理器指令給副處理器。副處理器使用第二訊號組以提供早期狀況報告給主處理器。副處理器使用第三訊號組以提供晚期狀況報告給主處理器。早期狀況報告被提供在晚期狀況報告之前。主處理器使用第四訊號組以告知副處理器是否要提交副處理器指令或是清除在副處理器的所有管線階段的所有尚未提交的副處理器指令。 本發明另提供一種非耦合副處理器介面。此非耦合副處理器介面包括一個或多個耦接在主處理器的一個管線裡至少一個階段與副處理器的一個管線裡至少一個階段之間的早期清除介面。上述早期清除介面在主處理器與副處理器之間傳送至少一個包含於副處理器指令的執行流程的訊號組。主處理器使用此訊號組以傳送早期清除事件給副處理器。上述早期清除事件告知副處理器一個副處理器指令已通過對應的早期清除介面,或是清除所有尚未通過對應的早期清除介面的副處理器指令。 本發明另提供一種非耦合副處理器介面。此非耦合副處理器介面包含了上述各種非耦合副處理器介面的所有功能與特色,且具有上述各種非耦合副處理器介面的所有優點與效能。 圖1為本發明一實施例中的一種非耦合副處理器介面130的示意圖。非耦合副處理器介面130耦接在主處理器110及副處理器150之間。當主處理器110發送一副處理器指令給副處理器150,副處理器介面130會處理此副處理器指令的執行流程。非耦合副處理器介面130包括多個訊號介面140,訊號介面140在主處理器110與副處理器150之間傳送副處理器指令的執行流程所包含的訊號組。 圖2是本發明一個實施例中,在副處理器指令的執行流程中使用的訊號組的示意圖。如同圖2所示,主處理器110使用訊號組inst_dispatch來發送副處理器指令給副處理器150。副處理器150使用訊號組early_report來提供早期狀況報告給主處理器110。副處理器150使用訊號組c2m_data來傳輸對應於副處理器指令的資料給主處理器110。主處理器110使用訊號組early_flush來傳送副處理器指令的早期清除事件給副處理器150。主處理器110使用訊號組m2c_data來傳輸對應於副處理器指令的資料給副處理器150。副處理器150使用訊號組late_report來提供晚期狀況報告給主處理器110。主處理器110使用訊號組commit/late_flush來告知副處理器150提交一個對應的副處理器指令,或是清除在副處理器150的所有管線階段的所有未提交的副處理器指令。在本發明的某些實施例中,用來告知上述提交的訊號會組成一個單獨的訊號組,而且用來告知上述清除的訊號會組成另一個單獨的訊號組。副處理器介面的訊號介面140在主處理器110及副處理器150之間傳送所有上述提到的訊號組。 一個副處理器指令可觸發來自於執行這個副處理器指令的副處理器的一個早期狀況報告和一個晚期狀況報告。對應一個副處理器指令的早期狀況報告一定不會比對應同一個副處理器指令的晚期狀況報告更晚被產生,也不會比上述晚期狀況報告更晚被提供給主處理器。早期狀況報告與晚期狀況報告兩者都被用來告知主處理器在對應的副處理器指令的執行期間內是否有發生會影響此副處理器指令的執行流程的異常狀況,例如錯誤(error)、例外(exception)或陷阱(trap)。晚期狀況報告產生於副處理器的管線其中可能產生異常狀況的最後一個階段,而早期狀況報告可能會產生於副處理器的管線中包括最後一個階段在內的任何階段。 在本發明的其中一個實施例中,副處理器以陷阱形式提供早期狀況報告以及晚期狀況報告給主處理器。在這個情況之下,陷阱比中斷要好。陷阱可以直接進入主處理器,而中斷必須先通過外部的中斷控制器然後才會到達主處理器。 一個訊號組是被主處理器及副處理器使用來根據預設的介面協定以進行交握機制(handshaking)的一組訊號。圖3是使用圖2中的訊號組inst_dispatch從主處理器110發送副處理器指令到副處理器150的一個介面協定的範例。主處理器110使用訊號inst_valid來表示一個正確(valid)的副處理器指令出現在訊號inst_data。主處理器110使用訊號inst_data來遞送副處理器指令。副處理器150使用訊號inst_wait來表示副處理器150是忙碌的且不能在下一個時脈週期接收任何新指令。如圖3所示,主處理器110在第二、第三及第四個時脈週期設立(assert)訊號inst_valid。一樣在第二、第三及第四個時脈週期的每個週期中,主處理器110使用訊號inst_data發送一個副處理器指令到副處理器150。在第四跟第五個時脈週期裡,副處理器150設立訊號inst_wait以告知主處理器110暫緩發送副處理器指令。因此,主處理器110在第五跟第六個時脈週期裡停止發送副處理器指令然後在第七個時脈週期裡重新繼續發送指令。 圖4是圖2中的使用訊號組c2m_data從主處理器110發送副處理器指令到副處理器150的一個介面協定的範例。主處理器110使用訊號c2m_dreq來表示主處理器110正在等待從副處理器150來的資料。副處理器150使用訊號c2m_data來遞送資料以及使用訊號c2m_dack來表示c2m_data所寄送的資料是正確的。如圖4所示,主處理器110在第二時脈週期裡設立訊號c2m_dreq來要求資料。當副處理器150沒有在第二時脈週期裡以正確的資料回應時主處理器110持續在第三時脈週期裡設立訊號c2m_dreq。副處理器150在第三時脈週期裡有正確資料要回應,所以設立訊號c2m_dack,並使用訊號c2m_data傳送正確的資料。副處理器150在第四時脈週期裡停止傳送資料。由於主處理器110在第四個時脈週期沒有需要任何資料,主處理器110在第四個時脈週期重置(de-assert)訊號c2m_dreq。主處理器110在第五個時脈週期裡設立訊號c2m_dreq,此時副處理器150有正確的資料,所以副處理器150設立訊號c2m_ddack並將此資料放在c2m_data中。在第六時脈週期,副處理器150在c2m_dack仍然被設立時持續傳送資料,而此資料在主處理器110依然設立c2m_dreq的情形之下被主處理器110接收。 在本實施例中,當一個副處理器指令需要尾序資訊(endian information)以決定資料該如何排序時,主處理器110通過訊號介面140提供此資料的尾序資訊給副處理器150。主處理器110會將此尾序資訊併到訊號組inst_dispatch或是訊號組m2c_data以讓此尾序資料傳送到副處理器150。在本發明的一些其他的實施例中,此尾序資料亦可由副處理器150提供給主處理器110。副處理器150可使用訊號組c2m_data來提供此尾序資料。另外,副處理器指令的執行流程可包括另一個在主處理器110及副處理器150之間傳輸的個別的訊號組。主處理器110或副處理器150會使用此個別的訊號組在主處理器110及副處理器150之間傳送上述尾序資料。 非耦合副處理器介面130的訊號介面140可包括一個或多個早期清除介面,上述早期清除介面耦接在主處理器110的管線的至少一個階段與副處理器150的管線的至少一個階段之間。上述早期清除介面可在主處理器110與副處理器150之間傳送至少一個包含在副處理器指令的執行流程裡的訊號組。主處理器110可使用此訊號組來傳送早期清除事件給副處理器150。上述早期清除事件告知副處理器150一個副處理器指令已通過相對應的早期清除介面或是清除所有未通過相對應的早期清除介面的副處理器指令。為了要提升效能,在副處理器指令的早期清除事件在主處理器110的管線階段產生時,非耦合副處理器介面130會馬上從主處理器110傳送副處理器指令的早期清除事件給副處理器150。 在本發明的一個實施例中,早期清除介面可耦接在主處理器的管線的多個預設的階段與副處理器的管線的多個預設的階段之間。每個早期清除介面可從主處理器的管線的一個不同的預設的階段傳送一個早期清除事件到副處理器的管線的一個不同的預設的階段。例如,在圖5中,主處理器510的管線有三個預設階段可以產生早期清除事件,分別標示為階段511、512及513。這些預設的階段511、512及513各自對應到副處理器550的管線的預設階段551、552及553。耦接主處理器510與副處理器550的非耦合副處理器介面包含了三個早期清除介面541、542及543。早期清除介面541從主處理器510的管線階段511傳送早期清除事件到副處理器550的管線階段551。早期清除介面542從主處理器510的管線階段512傳送早期清除事件到副處理器550的管線階段552。早期清除介面543從主處理器510的管線階段513傳送早期清除事件到副處理器550的管線階段553。 當一個副處理器指令進入副處理器550的管線階段551、552及553其中任一個,在進入下一個管線階段之前,此副處理器指令必須等待來自相對應的主處理器510的管線階段的相對應的早期清除事件的清除或不清除(flush-or-no-flush)的判決。圖5中的早期清除介面提供多個平行路徑使主處理器510可以在早期清除事件產生於不同的管線階段時馬上傳送早期清除事件給副處理器550,而不會阻擋任何副處理器指令的執行流程。 在本發明的另一個實施例中,一個特定的早期清除介面可耦接在主處理器的管線的一個單一的預設階段與副處理器的管線的多個預設階段中的一個特定的預設階段之間,以自主處理器的管線的上述預設階段傳送早期清除事件到副處理器的管線的上述特定預設階段。每個其他的早期清除介面可耦接到副處理器的管線的其他不同階段以提供一個表示沒有清除(no flush)的仿真早期清除事件(dummy early flush event)給相對應的副處理器的管線的預設階段。例如,在圖6中,主處理器610有一個預設管線階段611可以產生早期清除事件。副處理器650有三個預設的管線階段651-653接收早期清除事件。耦接主處理器610與副處理器650的非耦合副處理器介面包含了三個早期清除介面641-643。早期清除介面643從主處理器610的管線階段611傳送早期清除事件到副處理器650的管線階段653。早期清除介面641及642各別提供表示沒清除的仿真早期清除事件給副處理器650的管線階段651和652。 在圖6的範例中,早期清除介面643耦接在副處理器650的管線階段651-653其中的一個管線階段,而管線階段651-653的其他兩個管線階段就只接收到仿真早期清除事件。為了避免阻擋副處理器指令,最好將從主處理器傳送早期清除事件到副處理器的早期清除介面耦接到副處理器管線中接近管線末端的管線階段。例如,從主處理器傳送早期清除事件的早期清除介面可耦接到副處理器的管線的上述預設階段其中的最後一個。 在本發明的另一個實施例中,早期清除介面可耦接在主處理器的管線的多個預設階段與副處理器的管線的單一預設階段之間。耦接主處理器與副處理器的非耦合副處理器介面可從主處理器的管線的每一個預設階段收集一個早期清除事件,然後根據從主處理器收集來的早期清除事件提供一個摘要事件給副處理器的管線的上述預設階段。例如,在圖7中,連接主處理器710與副處理器750的非耦合副處理器介面730包括一個早期清除介面合併器740。早期清除介面合併器740通過早期清除介面741及742各別從主處理器710的預設管線階段711及712收集早期清除事件,然後早期清除介面合併器740通過早期清除介面743根據收集到的早期清除事件提供一個摘要事件給副處理器750的預設管線階段751。當至少一個從主處理器收集來的早期清除事件表示清除(flush),此摘要事件也會表示清除。如果每一個從主處理器收集來的早期清除事件都表示沒有清除(no flush),則此摘要事件同樣會表示沒有清除。 如同上述,副處理器可因應一個副處理器指令而提供一個早期狀況報告及一個晚期狀況報告給主處理器,以表示在此副處理器指令的執行流程中是否有異常狀況發生。在某些情況下,可以禁能(disable)晚期狀況報告以改善效能。例如,當已知副處理器指令不會產生任何異常狀況而反應在晚期狀況報告,或是異常狀況的產生被禁能,或是副處理器指令產生的異常狀況不會重要到影響副處理器指令的執行流程的程度,則副處理器可禁能晚期狀況報告。當以這種方式禁能晚期狀況報告,主處理器不會再因為等待晚期狀況報告而閒置(idle),因此效能會變高。 圖8及圖9是本發明的兩個不同的實施例中,早期狀況報告與晚期狀況報告所使用的訊號組,以及禁能晚期狀況報告的機制。在圖8中,使用在早期狀況報告的訊號組包括訊號etrap_req、etrap_ack以及etrap。主處理器810使用訊號etrap_req請求每個副處理器指令的早期狀況報告。副處理器850使用訊號etrap_ack來表示訊號etrap的內容是正確的,然後使用訊號etrap來提交早期狀況報告給主處理器810。同樣的,使用在晚期狀況報告的訊號組包括訊號ltrap_req、ltrap_ack以及ltrap。主處理器810使用訊號ltrap_req來請求每個副處理器指令的晚期狀況報告。副處理器850使用ltrap_ack來表示訊號ltrap的內容是正確的,然後使用訊號ltrap來提交晚期狀況報告給主處理器810。副處理器850可藉由一直設立(assert)訊號ltrap_ack以及一直在訊號ltrap中報告沒有異常狀況而禁能晚期狀況報告。 圖9的實施例和圖8的實施例的不同之處在於圖9的實施例中關於晚期狀況報告的訊號組多出一個訊號ltrap_en,用來表示晚期狀況報告是致能的還是禁能的。副處理器950可藉由重置(de-assert)訊號ltrap_en而禁能晚期狀況報告。 以上實施例中的非耦合副處理器介面傳輸尾序資訊以及對應的副處理器指令到副處理器,以正確安排資料順序。上述的非耦合副處理器介面提供多個早期清除介面,以便產生在主處理器的不同管線階段的早期清除事件可以同時地傳輸到副處理器,而不會阻擋任何副處理器指令的執行流程。上述的非耦合副處理器介面可以禁能晚期狀況報告以提升主處理器的效能。總而言之,本發明提供一個非耦合副處理器介面,具有可擴充性與可轉用性,而且具有高效能的特點。 雖然本發明已以多個實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 110‧‧‧主處理器 130‧‧‧非耦合副處理器介面 140‧‧‧訊號介面 150‧‧‧副處理器 510‧‧‧主處理器 511~513‧‧‧主處理器的管線階段 541~543‧‧‧早期清除介面 550‧‧‧副處理器 551~553‧‧‧副處理器的管線階段 610‧‧‧主處理器 611‧‧‧主處理器的管線階段 641~643‧‧‧早期清除介面 650‧‧‧副處理器 651~653‧‧‧副處理器的管線階段 710‧‧‧主處理器 711~712‧‧‧主處理器的管線階段 730‧‧‧非耦合副處理器介面 740‧‧‧早期清除介面合併器 741~743‧‧‧早期清除介面 750‧‧‧副處理器 751‧‧‧副處理器的管線階段 810‧‧‧主處理器 850‧‧‧副處理器 910‧‧‧主處理器 950‧‧‧副處理器 圖1為依照本發明一實施例的一種非耦合副處理器介面的示意圖。 圖2為本發明一實施例中,主處理器與副處理器之間的訊號組的示意圖。 圖3及圖4為本發明一實施例中,主處理器與副處理器之間兩個訊號組的介面協定的示意圖。 圖5、圖6及圖7為本發明多個不同實施例的早期清除介面的示意圖。 圖8為本發明一實施例中,在主處理器與副處理器之間遞送早期狀況報告與晚期狀況報告的訊號組的示意圖。 圖9為本發明另一個實施例中,在主處理器與副處理器之間遞送早期狀況報告與晚期狀況報告的訊號組的示意圖。 110‧‧‧主處理器 130‧‧‧副處理器介面 140‧‧‧訊號介面 150‧‧‧副處理器
权利要求:
Claims (16) [1] 一種非耦合副處理器介面,用以處理一副處理器指令的一執行流程,其中一主處理器發送該副處理器指令到一副處理器,該非耦合副處理器介面包括:多個訊號介面,用以在該副處理器與該主處理器之間傳輸包含於該副處理器指令的該執行流程裡的一第一訊號組、一第二訊號組及一第三訊號組,其中該第一訊號組被該主處理器用以發送該副處理器指令給該副處理器,該第二訊號組用來在該主處理器與該副處理器之間傳輸對應於該副處理器指令的資料,該第三訊號組被該主處理器用來告知該副處理器是否要提交該副處理器指令或是清除在該副處理器的所有管線階段的所有尚未提交的副處理器指令,其中該資料的一尾序資訊由該主處理器或該副處理器通過上述多個訊號介面提供。 [2] 如申請專利範圍第1項所述的該非耦合副處理器介面,其中該主處理器也用該第一訊號組或該第二訊號組來傳輸該尾序資訊給該副處理器。 [3] 如申請專利範圍第1項所述的該非耦合副處理器介面,其中該副處理器也用該第二訊號組來傳輸該尾序資訊給該主處理器。 [4] 如申請專利範圍第1項所述的該非耦合副處理器介面,其中上述多個訊號介面亦在該主處理器與該副處理器之間傳送一第四訊號組,該第四訊號組包含於該副處理器指令的該執行流程,而且該第四訊號組用來在該主處理器與該副處理器之間傳輸該尾序資訊。 [5] 一種非耦合副處理器介面,用以處理一副處理器指令的一執行流程,其中一主處理器發送該副處理器指令到一副處理器,該非耦合副處理器介面包括:多個訊號介面,用以在該副處理器與該主處理器之間傳輸包含於該副處理器指令的該執行流程裡的一第一訊號組、一第二訊號組、一第三訊號組及一第四訊號組,其中該主處理器使用該第一訊號組以發送該副處理器指令給該副處理器,該副處理器使用該第二訊號組以提供一早期狀況報告給該主處理器,該副處理器使用該第三訊號組以提供一晚期狀況報告給該主處理器,該早期狀況報告在該晚期狀況報告之前被提供,該主處理器使用該第四訊號組以告知該副處理器是否要提交該副處理器指令或是清除在該副處理器的所有管線階段的所有尚未提交的副處理器指令。 [6] 如申請專利範圍第5項所述的該非耦合副處理器介面,其中該副處理器以陷阱形式提供該早期狀況報告以及該晚期狀況報告給該主處理器。 [7] 如申請專利範圍第5項所述的該非耦合副處理器介面,其中該晚期狀況報告產生在該副處理器的一管線其中會發生能影響該副處理器指令的執行流程的一異常狀況的最後一階段,而且該早期狀況報告產生於該管線的早於該最後階段的其中一個階段。 [8] 如申請專利範圍第7項所述的該非耦合副處理器介面,其中當該副處理器指令不會產生任何異常狀況時,該副處理器禁能該晚期狀況報告。 [9] 如申請專利範圍第8項所述的該非耦合副處理器介面,其中該副處理器藉由在該第三訊號組中一直報告無異常狀況以禁能該晚期狀況報告。 [10] 如申請專利範圍第8項所述的該非耦合副處理器介面,其中該第三訊號組包括一致能訊號而且該副處理器藉由重置該致能訊號來禁能該晚期狀況報告。 [11] 一種非耦合副處理器介面,用以處理一副處理器指令的一執行流程,其中一主處理器發送該副處理器指令到一副處理器,該非耦合副處理器介面包括:一個或多個早期清除介面,耦接在該主處理器的一管線的至少一個階段與該副處理器的一管線的至少一個階段之間,其中上述早期清除介面在該主處理器與該副處理器之間傳送包含於該副處理器指令的該執行流程的一訊號組,該主處理器用該訊號組來傳送多個早期清除事件給該副處理器,上述多個早期清除事件告知該副處理器該副處理器指令已通過相對應的該早期清除介面或清除所有未通過相對應的該早期清除介面的副處理器指令。 [12] 如申請專利範圍第11項所述的該非耦合副處理器介面,其中上述早期清除介面耦接在該主處理器的該管線的多個預設階段與該副處理器的該管線的多個預設階段之間,每個上述早期清除介面從該主處理器的該管線的一個不同的該預設階段傳送一早期清除事件到該副處理器的該管線的一個不同的該預設階段。 [13] 如申請專利範圍第11項所述的該非耦合副處理器介面,其中上述早期清除介面其中一特定早期清除介面耦接在該主處理器的該管線的一預設階段與該副處理器的該管線的多個預設階段中的一特定預設階段之間,而且從該主處理器的該管線的該預設階段傳送一早期清除事件到該副處理器的該管線的該特定預設階段,其他的每一上述早期清除介面耦接於該副處理器的該管線的一個不同的其他預設階段以提供一仿真早期清除事件來向對應的該副處理器的該管線的該預設階段表示沒有清除。 [14] 如申請專利範圍第11項所述的該非耦合副處理器介面,其中上述早期清除介面耦接在該主處理器的該管線的多個預設階段與該副處理器的該管線的一預設階段之間,該非耦合副處理器介面從該主處理器的該管線的每一上述預設階段收集一早期清除事件,並根據從該主處理器收集的上述多個早期清除事件提供一摘要事件给該副處理器的該管線的該預設階段。 [15] 如申請專利範圍第14項所述的該非耦合副處理器介面,其中當從該主處理器收集到的上述多個早期清除事件其中至少一個表示清除時,該摘要事件表示清除;當從該主處理器收集到的上述多個早期清除事件其中每一個都表示沒有清除時,該摘要事件表示沒有清除。 [16] 一種非耦合副處理器介面,用以處理一副處理器指令的一執行流程,其中一主處理器發送該副處理器指令到一副處理器,該非耦合副處理器介面包括:多個訊號介面,用來在該副處理器與該主處理器之間傳輸包含於該副處理器指令的該執行流程裡的一第一訊號組,一第二訊號組,一第三訊號組,一第四訊號組及一第五訊號組,其中該第一訊號組被該主處理器用來發送該副處理器指令給該副處理器,該第二訊號組用來在該主處理器與該副處理器之間傳輸對應於該副處理器指令的一資料,其中該資料的一尾序資訊由該主處理器或該副處理器通過上述多個訊號介面提供;該副處理器用該第三訊號組來提供一早期狀況報告給該主處理器,該副處理器用該第四訊號組來提供一晚期狀況報告給該主處理器,該早期狀況報告在該晚期狀況報告之前被提供;該主處理器用該第五訊號組來告知該副處理器是否要提交該副處理器指令或是清除在該副處理器的所有管線階段的所有未提交的副處理器指令;上述多個訊號介面包括一個或多個早期清除介面,上述早期清除介面耦接在該主處理器的一管線的至少一個階段與該副處理器的一管線的至少一個階段之間,上述早期清除介面在該主處理器與該副處理器之間傳送包含於該副處理器指令的該執行流程的一第六訊號組,該主處理器用該第六訊號組來傳送至少一早期清除事件給該副處理器,上述早期清除事件告知該副處理器該副處理器指令已通過相對應的該早期清除介面或清除未通過相對應的該早期清除介面的所有副處理器指令。
类似技术:
公开号 | 公开日 | 专利标题 JP2013254508A|2013-12-19|エンハンストデジタル信号プロセッサデバッギング動作に関する埋め込み型トレースマクロセル TW403881B|2000-09-01|Efficient context saving and restoring in a multi-tasking computing system environment KR101083182B1|2011-11-11|비-간섭적 디지털 신호 프로세서 디버깅 동안 명령 스터핑 동작들을 위한 방법 및 시스템 KR101155673B1|2012-06-14|신뢰받은/신뢰받지 못한 디지털 신호 프로세서 디버깅 동작들을 위한 방법 및 시스템 JP2013058207A|2013-03-28|マルチスレッド化デジタル信号プロセッサに関する非侵入型、スレッド選択式デバッギング方法及びシステム US8006069B2|2011-08-23|Inter-processor communication method US7028197B2|2006-04-11|System and method for electrical power management in a data processing system using registers to reflect current operating conditions JP2013050966A|2013-03-14|電力遷移中におけるデジタル信号プロセッサデバッギングに関する方法 US20210334228A1|2021-10-28|Managing network interface controller-generated interrupts US20110173289A1|2011-07-14|Network support for system initiated checkpoints CN104298639B|2017-03-15|主处理器与若干协处理器的嵌入式连接方法及连接接口 US8458516B2|2013-06-04|Processor system and operation mode switching method for processor system US8151097B2|2012-04-03|Multi-threaded system with branch US20210133065A1|2021-05-06|Processor with debug pipeline TWI463398B|2014-12-01|非耦合副處理器介面 US8171259B2|2012-05-01|Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal TW201447591A|2014-12-16|高效率輸入輸出操作 Golander et al.2009|Synchronizing redundant cores in a dynamic DMR multicore architecture US11119149B2|2021-09-14|Debug command execution using existing datapath circuitry US10394653B1|2019-08-27|Computing in parallel processing environments CN105393211B|2018-11-30|具有流水线式算术逻辑单元的异步处理器的系统和方法 US20160246740A1|2016-08-25|Processor system having nested vectored interrupt controller Peng et al.2012|Towards A Unified Hardware Abstraction Layer Architecture for Embedded Systems KR20090117516A|2009-11-12|다중 프로세서 시스템 및 그 시스템에서의 다중 프로세싱방법
同族专利:
公开号 | 公开日 US20130138921A1|2013-05-30| CN103218342A|2013-07-24| CN103218342B|2016-07-06| TWI463398B|2014-12-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6829697B1|2000-09-06|2004-12-07|International Business Machines Corporation|Multiple logical interfaces to a shared coprocessor resource| US7287147B1|2000-12-29|2007-10-23|Mips Technologies, Inc.|Configurable co-processor interface| GB2372848B|2001-02-20|2004-10-27|Advanced Risc Mach Ltd|Data processing using a coprocessor| US7590829B2|2003-03-31|2009-09-15|Stretch, Inc.|Extension adapter| US7546441B1|2004-08-06|2009-06-09|Xilinx, Inc.|Coprocessor interface controller| US9348784B2|2008-12-01|2016-05-24|Micron Technology, Inc.|Systems and methods for managing endian mode of a device|CN107508768A|2017-08-23|2017-12-22|桐城市闲产网络服务有限公司|一种带有多个处理器的交换机|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/304,705|US20130138921A1|2011-11-28|2011-11-28|De-coupled co-processor interface| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|